home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / PASCAL / 0826.ZIP / TREF2D.ARC / T-REFCH5.DOC < prev    next >
Text File  |  1987-09-20  |  5KB  |  133 lines

  1.  
  2.  
  3.  
  4.                        Chapter V - Using T-Ref
  5.  
  6.      There  are many reasons for using T-Ref besides simply listing the source
  7. or  getting a comprehensive cross reference.   In this chapter,  we  introduce
  8. three  additional ways to take advantage of T-Ref's  flexibility.   First,  we
  9. show how versioned software can be formatted at the completion of a version to
  10. easily  identify  modifications to the source code.   Next,  we  describe  how
  11. unused identifiers can be found to trim down the data segment size.   Finally,
  12. we address a vital question for many programs developed today:  portability to
  13. other systems.
  14.  
  15. Software Versions:
  16.  
  17.      Many programs are developed on a version basis - a portion of the code is
  18. completed  and debugged before additional features or enhancements  are  made.
  19. For debugging the enhancements made to a version,  it is often important to be
  20. able to recognize modifications to a working version for debugging purposes.
  21.      As described in Chapter II above, T-Ref can be used to create new (compi-
  22. lable) source code.   This is done by specifying an output file; turning line,
  23. lexical,  and block numbering "Off"; page numbering and headers "Off"; setting
  24. source  code  include  files to "No";  and turning "Off" the  cross  reference
  25. lister completely.  By running T-Ref against the source code files and placing
  26. the 'Reserve Words' and 'Identifier' fields to desired settings,  you will get
  27. a  new source listing.   (You can set the 'Active Procedure' field to "On"  if
  28. you wish;  however, we recommend you reserve this option primarily for listing
  29. source code,  since it will significantly increase the space the source  would
  30. take up on disk.)
  31.      Now,  by  having each completed software version reformatted to be in all
  32. caps  "Upper"  or all small letters "Lower" and modifying the  code  with  the
  33. opposite  type,  it is simple to find changes and additions to the  code.   It
  34. should be noted here that it does not necessarily matter which letter type the
  35. code is in,  since T-Ref will reformat the code again when routing a copy to a
  36. printer or print hold file.
  37.  
  38. Program Data Trimming:
  39.  
  40.      It  is common to see a direct relationship between program size and  data
  41. size.  As the size of a program increases, so normally does the data size.  As
  42. code  is added and deleted,  it becomes extremely difficult to track constants
  43. and  variables and their uses.  Long lists of unused identifiers (no  matter
  44. what  their type) detracts from the readability of any program.   To keep  the
  45. data  size to a minimum,  it is good programming practice to illiminate  those
  46. identifiers declared but never used.
  47.      This,  however,  is easier said than done.   We have discovered that even
  48. the best programmers overlook this at least once when programs reach a  length
  49. of several thousand lines of code.
  50.      To  list  unused identifiers with T-Ref,  turn "On" the  cross  reference
  51. lister  and  set each of the basic type fields to "PrgDf"  "Unused".   Running
  52. T-Ref  against  the source code will give you a complete list  of  identifiers
  53. declared within the program but not used.
  54.  
  55. Portability Considerations:
  56.  
  57.      A  major  consideration  of many software developers once  a  program  is
  58. completed on one computer system is how to port it to other systems.   If  the
  59.  
  60.  
  61.                                19
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. environment  of the development system is different from the target system (or
  71. if there is some measure of incompatibility between the development and target
  72. systems),  then  porting may be more complex than just porting source code  to
  73. the target system and recompiling.  This is precisely the case when the source
  74. is in Pascal.  Even when the environment of the target systems include a Turbo
  75. Pascal compiler,  difficulties arise due to differences in the  implementation
  76. of  the language.   Some of the functions and procedures for example supported
  77. under  the  IBM-PC version are not available under other  systems  (especially
  78. CP/M systems).   This necessitates library packages or changes in the code  to
  79. compensate  for these differences.   If another Pascal compiler is required on
  80. the target system, of course this problem is compounded.
  81.      The  question becomes which standard (system defined) identifiers  should
  82. be  considered and where and how often are those identifiers used.  T-Ref  can
  83. search the source files and list them.   By turning the cross reference lister
  84. "On"  and setting each of the six basic type fields to "SysDf"  "Used",  T-Ref
  85. will  give a cross reference of all system defined identifiers (those that may
  86. need to be considered) used by the program and the lines they are used on.
  87.  
  88.      As  you  can see,  selectivity in a cross reference  lister  can  greatly
  89. minimize work time.   You may find other ways of using T-Ref to your advantage
  90. as we are discovering still.
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.                                20
  128.  
  129.  
  130.  
  131.  
  132.  
  133.